|
A higher order message (HOM) in a computer programming language is a form of higher-order programming that allows messages that have other messages as arguments. The concept was introduced at MacHack 2003〔(MacHack HOM Presentation )〕〔(O'Reilly macdevcenter article )〕 by Marcel Weiher and presented in a more complete form in 2005 by Marcel Weiher and Stéphane Ducasse.〔Proceeding DLS '05 Proceedings of the 2005 symposium on Dynamic languages ()〕 Loops can be written without naming the collections looped over, higher order messages can be viewed as a form of point-free or tacit programming. ==Examples== In ordinary Smalltalk code, without using HOM, obtaining a collection of the employees that have a salary of 1000 would be achieved with the following code: However, using HOM, it can be expressed as follows: Here, select is a higher order message, and hasSalary: is understood to be called on the select message itself, rather than on its result. The Smalltalk language was not modified to implement this feature. Instead, select returns a message that reifies the select send, which then interprets the hasSalary: message.Another example is the use of future message sends in the Croquet Project:〔(Croquet System Overview, page 6 )〕 In this example, the future: message causes the addRotationARoundY: message to be sent to the cube object after 1 second.抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「higher order message」の詳細全文を読む スポンサード リンク
|